//promise 的源码




class Mypromise{
    constructor(executor){        //接受一个参数,  接收一个执行器

         this.state='pending'
         this.onFulfilledCallbacks =[]     //装then中的回调
         this.onRejectedCallbacks =[]      //装catch 中的回调

          const resolve =()=>{
              this.state = 'fulfilled'  

          }
         const reject = () => {

        }


          executor(resolve,reject)               //接收两个函数体
    }
}


new Mypromise((resolve,reject)=>{


}).then(res =>{


})

// .then()  原理：把then 里面的东西存在一个数组里面,调不调用取决于resolve()里面数组是否调用,
// .then()里面的逻辑出了错误,会直接走到catch里面去
// 前一个then 里面return 了一个值，会给到下一个then
    //then 是异步，微任务



  //调用了resolve ,就不会调用rejected